package handlers

import (
	"01/models"
	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
	"strconv"
)

func Add(db *gorm.DB) gin.HandlerFunc {
	return func(c *gin.Context) {
		title := c.PostForm("title")
		if title == "" {
			c.JSON(200, gin.H{
				"code": 0,
				"msg":  "标题不能为空",
			})
		}
		content := c.PostForm("content")
		img := c.PostForm("img")
		user_id, _ := strconv.Atoi(c.PostForm("user_id"))
		art := models.Article{
			Model:   gorm.Model{},
			Title:   title,
			Content: content,
			Img:     img,
			UserId:  user_id,
		}
		err := db.Create(&art).Error
		if err != nil {
			c.JSON(200, gin.H{
				"code": 0,
				"msg":  "提交失败",
			})
			return
		} else {
			c.JSON(200, gin.H{
				"code": 200,
				"msg":  "提交成功",
			})
		}
	}
}
func Del(db *gorm.DB) gin.HandlerFunc {
	return func(c *gin.Context) {
		id := c.PostForm("id")
		err := db.First(&models.Article{}, id).Error
		if err != nil {
			c.JSON(200, gin.H{
				"code": 0,
				"msg":  "不能进行二次删除",
			})
			return
		}
		err = db.Delete(&models.Article{}, id).Error
		if err != nil {
			c.JSON(200, gin.H{
				"code": 0,
				"msg":  "删除失败",
			})
			return
		} else {
			c.JSON(200, gin.H{
				"code": 200,
				"msg":  "删除成功",
			})
			return
		}
	}
}
